package com.tanhua.dubbo.api;

import com.tanhua.model.PageResult;
import com.tanhua.model.enums.CommentType;
import com.tanhua.model.mongo.Comment;
import com.tanhua.model.mongo.Video;
import org.bson.types.ObjectId;

import java.util.List;

public interface VideoApi {

    /**
     * 保存小视频
     * @return
     */
    String save(Video video);

    //根据vid查询数据列表
    List<Video> findMovementsByVids(List<Long> vids);

    //分页查询数据列表
    List<Video> queryVideoList(int page, Integer pagesize);

    //分页查询数据列表
    List<Comment> queryCommentList(int page, Integer pagesize);
    /**
     * 查询指定用户发布的视频列表
     *
     * @param page
     * @param pagesize
     * @param uid
     * @return
     */
    PageResult findByUserId(Integer page, Integer pagesize, Long uid);

    boolean judge(Long userId, String videoId);


    void saveLike(Long userId, String videoId);

    void deleteLike(Long userId, String videoId);

    boolean judgeLove(Long userId, String videoId);

    void saveLove(Long userId, String videoId);

    void deleteLove(Long userId, String videoId);

    void saveComment(Comment comment1);

    boolean judgeComments(ObjectId videoId, Long userId);

    void saveLikeComment(ObjectId videoId, Long userId);

    void deleteLikeComment(ObjectId videoId, Long userId);
}